package 简单.模拟;

/**
 * 给你一个由小写英文字母组成的字符串 s 。
 * 请你找出字符串中两个字符 a1 和 a2 的出现频次之间的 最大 差值 diff = a1 - a2，这两个字符需要满足：
 * a1 在字符串中出现 奇数次 。
 * a2 在字符串中出现 偶数次 。
 * 返回 最大 差值。
 *
 * @ https://leetcode.cn/problems/maximum-difference-between-even-and-odd-frequency-i/?envType=daily-question&envId=2025-06-10
 * @date 2025/06/10
 */
public class 奇偶频次间的最大差值I {

    public static void main(String[] args) {

    }

    /**
     * 模拟
     * 最大的奇数数量-最小偶数数量
     */
    public int maxDifference(String s) {
        int[] cnt = new int[26];
        for (char c : s.toCharArray()) {
            cnt[c - 'a']++;
        }
        int maxJi = Integer.MIN_VALUE;
        int minOu = Integer.MAX_VALUE;
        for (int num : cnt) {
            if (num == 0) {
                continue;
            }
            if (num % 2 == 0) {
                minOu = Math.min(minOu, num);
            } else {
                maxJi = Math.max(maxJi, num);
            }
        }

        return maxJi - minOu;
    }

}
